package com.zhiche.lisa.bms.pojo.vo.prepay;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: liuanshun
 * @Description:
 * @Date: Create in 9:30 2019/1/15
 */
public class PrepayBillVO {
    private Long id;
    /**
     * 对应账款id
     */
    private Long headId;
    /**
     * 订单号
     */
    private String orderCode;
    /**
     * 订单号明细id
     */
    private Integer orderDtlId;
    /**
     * OTM运单号
     */
    private String waybillId;
    /**
     * OTM运单号明细
     */
    private String waybillDtlId;
    /**
     * 费用类型ID
     */
    private Long typeId;
    /**
     * 费用名称( 保留同步过来的原始费用 )
     */
    private String typeName;
    /**
     * 运输方式
     */
    private String transModel;
    /**
     * 车型编码
     */
    private String vehicleTypeCode;
    /**
     * 车牌
     */
    private String vehicleTypeName;
    /**
     * 车队id
     */
    private Long fleetId;
    /**
     * 车队名称
     */
    private String fleetName;
    /**
     * 承运商id
     */
    private Long lspId;
    /**
     * 承运商名称
     */
    private String lspName;
    /**
     * 车架/车牌号
     */
    private String vin;
    /**
     * 司机id
     */
    private Long driverId;
    /**
     * 银行流水号
     */
    private String bankSerialNum;
    /**
     * 司机名称
     */
    private String driverName;
    /**
     * 起运地名称
     */
    private String startAddr;
    /**
     * 起运地编码
     */
    private String startAddrCode;
    /**
     * 目的地
     */
    private String endAddr;
    /**
     * 目的地编码
     */
    private String endAddrCode;
    /**
     * 合同类型
     */
    private String contractType;
    /**
     * 合同编码
     */
    private String contractCode;
    /**
     * 付款方ID
     */
    private Long payerId;
    /**
     * 付款方名称
     */
    private String payerName;
    /**
     * 收款方ID
     */
    private Long payeeId;
    /**
     * 收款方名称
     */
    private String payeeName;
    /**
     * 预估单价
     */
    private BigDecimal estPrice;
    /**
     * 单价
     */
    private BigDecimal actualPrice;
    /**
     * 公里数
     */
    private BigDecimal kilometre;
    /**
     * 数量
     */
    private Integer num;
    /**
     * 预估金额
     */
    private BigDecimal estAmt;
    /**
     * 结算金额(总金额)
     */
    private BigDecimal actualAmt;
    /**
     * 租户ID
     */
    private Long tenantId;
    /**
     * 下单时间
     */
    private Date orderDate;
    /**
     * 回单时间
     */
    private Date receiptDate;
    /**
     * 运单单状态：10-已发运、20-已回单、30-已运抵
     */
    private String loadStatus;
    /**
     * 运单单状态对应值：已发运、已回单、已运抵
     */
    private String loadStatusName;
    /**
     * 状态：10-新增、20-审核、30-确认
     */
    private Integer status;
    /**
     * 状态：10-新增、20-审核、30-确认
     */
    private String statusStr;
    /**
     * 状态对应值
     */
    private String statusName;
    /**
     * 同步状态：0-未审核、10-审核成功、20-审核驳回、30-转账失败
     */
    private String syncStatus;
    /**
     * 同步状态对应值
     */
    private String syncStatusName;
    /**
     * 现金预付
     */
    private BigDecimal prepayCash;
    /**
     * 油费预付
     */
    private BigDecimal prepayOil;
    /**
     * 预付方式; 0-油卡, 1-现金
     */
    private Integer prepayType;
    /**
     * 预付方式; 0-油卡, 1-现金
     */
    private String prepayTypeStr;
    /**
     * 预付总额
     */
    private BigDecimal prepaySum;
    /**
     * 余额
     */
    private BigDecimal balance;
    /**
     * 修改时间
     */
    private Date gmtModify;
    /**
     * 创建时间
     */
    private Date gmtCreate;
    /**
     * 创建时间
     */
    private String gmtCreateStr;
    /**
     * 创建人
     */
    private Long creator;
    /**
     * 拥有人
     */
    private Long proprietor;
    /**
     * 关联费用id
     */
    private String costId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getHeadId() {
        return headId;
    }

    public void setHeadId(Long headId) {
        this.headId = headId;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public Integer getOrderDtlId() {
        return orderDtlId;
    }

    public void setOrderDtlId(Integer orderDtlId) {
        this.orderDtlId = orderDtlId;
    }

    public String getWaybillId() {
        return waybillId;
    }

    public void setWaybillId(String waybillId) {
        this.waybillId = waybillId;
    }

    public String getWaybillDtlId() {
        return waybillDtlId;
    }

    public void setWaybillDtlId(String waybillDtlId) {
        this.waybillDtlId = waybillDtlId;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getTransModel() {
        return transModel;
    }

    public void setTransModel(String transModel) {
        this.transModel = transModel;
    }

    public String getVehicleTypeCode() {
        return vehicleTypeCode;
    }

    public void setVehicleTypeCode(String vehicleTypeCode) {
        this.vehicleTypeCode = vehicleTypeCode;
    }

    public String getVehicleTypeName() {
        return vehicleTypeName;
    }

    public void setVehicleTypeName(String vehicleTypeName) {
        this.vehicleTypeName = vehicleTypeName;
    }

    public Long getFleetId() {
        return fleetId;
    }

    public void setFleetId(Long fleetId) {
        this.fleetId = fleetId;
    }

    public String getFleetName() {
        return fleetName;
    }

    public void setFleetName(String fleetName) {
        this.fleetName = fleetName;
    }

    public Long getLspId() {
        return lspId;
    }

    public void setLspId(Long lspId) {
        this.lspId = lspId;
    }

    public String getLspName() {
        return lspName;
    }

    public void setLspName(String lspName) {
        this.lspName = lspName;
    }

    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    public Long getDriverId() {
        return driverId;
    }

    public void setDriverId(Long driverId) {
        this.driverId = driverId;
    }

    public String getBankSerialNum() {
        return bankSerialNum;
    }

    public void setBankSerialNum(String bankSerialNum) {
        this.bankSerialNum = bankSerialNum;
    }

    public String getDriverName() {
        return driverName;
    }

    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    public String getStartAddr() {
        return startAddr;
    }

    public void setStartAddr(String startAddr) {
        this.startAddr = startAddr;
    }

    public String getStartAddrCode() {
        return startAddrCode;
    }

    public void setStartAddrCode(String startAddrCode) {
        this.startAddrCode = startAddrCode;
    }

    public String getEndAddr() {
        return endAddr;
    }

    public void setEndAddr(String endAddr) {
        this.endAddr = endAddr;
    }

    public String getEndAddrCode() {
        return endAddrCode;
    }

    public void setEndAddrCode(String endAddrCode) {
        this.endAddrCode = endAddrCode;
    }

    public String getContractType() {
        return contractType;
    }

    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public Long getPayerId() {
        return payerId;
    }

    public void setPayerId(Long payerId) {
        this.payerId = payerId;
    }

    public String getPayerName() {
        return payerName;
    }

    public void setPayerName(String payerName) {
        this.payerName = payerName;
    }

    public Long getPayeeId() {
        return payeeId;
    }

    public void setPayeeId(Long payeeId) {
        this.payeeId = payeeId;
    }

    public String getPayeeName() {
        return payeeName;
    }

    public void setPayeeName(String payeeName) {
        this.payeeName = payeeName;
    }

    public BigDecimal getEstPrice() {
        return estPrice;
    }

    public void setEstPrice(BigDecimal estPrice) {
        this.estPrice = estPrice;
    }

    public BigDecimal getActualPrice() {
        return actualPrice;
    }

    public void setActualPrice(BigDecimal actualPrice) {
        this.actualPrice = actualPrice;
    }

    public BigDecimal getKilometre() {
        return kilometre;
    }

    public void setKilometre(BigDecimal kilometre) {
        this.kilometre = kilometre;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public BigDecimal getEstAmt() {
        return estAmt;
    }

    public void setEstAmt(BigDecimal estAmt) {
        this.estAmt = estAmt;
    }

    public BigDecimal getActualAmt() {
        return actualAmt;
    }

    public void setActualAmt(BigDecimal actualAmt) {
        this.actualAmt = actualAmt;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Date getOrderDate() {
        return orderDate;
    }

    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    public Date getReceiptDate() {
        return receiptDate;
    }

    public void setReceiptDate(Date receiptDate) {
        this.receiptDate = receiptDate;
    }

    public String getLoadStatus() {
        return loadStatus;
    }

    public void setLoadStatus(String loadStatus) {
        this.loadStatus = loadStatus;
        if (loadStatus != null && !"".equals(loadStatus)) {
            if ("10".equals(loadStatus)) {
                loadStatusName = "已发运";
            } else if ("20".equals(loadStatus)) {
                loadStatusName = "已回单";
            } else if ("30".equals(loadStatus)) {
                loadStatusName = "已运抵";
            }
        }
    }

    public String getLoadStatusName() {
        return loadStatusName;
    }

    public void setLoadStatusName(String loadStatusName) {
        this.loadStatusName = loadStatusName;
        if (loadStatusName != null && !"".equals(loadStatusName)) {
            if ("已发运".equals(loadStatusName)) {
                loadStatus = "10";
            } else if ("已回单".equals(loadStatusName)) {
                loadStatus = "20";
            } else if ("已运抵".equals(loadStatusName)) {
                loadStatus = "30";
            }
        }
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
        if (status != null) {
            if (new Integer(10).equals(status)) {
                statusName = "新增";
            } else if (new Integer(20).equals(status)) {
                statusName = "审核";
            } else if (new Integer(30).equals(status)) {
                statusName = "确认";
            }
        }
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
        if (statusName != null && !"".equals(statusName)) {
            if ("新增".equals(loadStatusName)) {
                status = 10;
            } else if ("审核".equals(loadStatusName)) {
                status = 20;
            } else if ("确认".equals(loadStatusName)) {
                status = 30;
            }
        }
    }

    public String getSyncStatus() {
        return syncStatus;
    }

    public void setSyncStatus(String syncStatus) {
        this.syncStatus = syncStatus;
        if (syncStatus != null && !"".equals(syncStatus)) {
            if ("0".equals(syncStatus)) {
                syncStatusName = "未审核";
            } else if ("10".equals(syncStatus)) {
                syncStatusName = "审核成功";
            } else if ("20".equals(syncStatus)) {
                syncStatusName = "审核驳回";
            } else if ("30".equals(syncStatus)) {
                syncStatusName = "转账失败";
            }
        }
    }

    public String getSyncStatusName() {
        return syncStatusName;
    }

    public void setSyncStatusName(String syncStatusName) {
        this.syncStatusName = syncStatusName;
        if (syncStatusName != null && !"".equals(syncStatusName)) {
            if ("未审核".equals(syncStatusName)) {
                syncStatus = "0";
            } else if ("审核成功".equals(syncStatusName)) {
                syncStatus = "10";
            } else if ("审核驳回".equals(syncStatusName)) {
                syncStatus = "20";
            } else if ("转账失败".equals(syncStatusName)) {
                syncStatus = "30";
            }
        }
    }

    public BigDecimal getPrepayCash() {
        return prepayCash;
    }

    public void setPrepayCash(BigDecimal prepayCash) {
        this.prepayCash = prepayCash;
    }

    public BigDecimal getPrepayOil() {
        return prepayOil;
    }

    public void setPrepayOil(BigDecimal prepayOil) {
        this.prepayOil = prepayOil;
    }

    public Integer getPrepayType() {
        return prepayType;
    }

    public void setPrepayType(Integer prepayType) {
        this.prepayType = prepayType;
    }

    public BigDecimal getPrepaySum() {
        return prepaySum;
    }

    public void setPrepaySum(BigDecimal prepaySum) {
        this.prepaySum = prepaySum;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public Date getGmtModify() {
        return gmtModify;
    }

    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Long getCreator() {
        return creator;
    }

    public void setCreator(Long creator) {
        this.creator = creator;
    }

    public Long getProprietor() {
        return proprietor;
    }

    public void setProprietor(Long proprietor) {
        this.proprietor = proprietor;
    }

    public String getCostId() {
        return costId;
    }

    public void setCostId(String costId) {
        this.costId = costId;
    }

    public String getStatusStr() {
        return statusStr;
    }

    public void setStatusStr(String statusStr) {
        this.statusStr = statusStr;
    }

    public String getPrepayTypeStr() {
        return prepayTypeStr;
    }

    public void setPrepayTypeStr(String prepayTypeStr) {
        this.prepayTypeStr = prepayTypeStr;
    }

    public String getGmtCreateStr() {
        return gmtCreateStr;
    }

    public void setGmtCreateStr(String gmtCreateStr) {
        this.gmtCreateStr = gmtCreateStr;
    }
}
